home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************}
- { }
- { Delphi Runtime Library }
- { System Unit }
- { }
- { Copyright (C) 1988,97 Borland International }
- { }
- {*******************************************************}
-
- unit System;
-
- {$H+,I-,S-}
-
- interface
-
- const
-
- { Variant type codes }
-
- varEmpty = $0000;
- varNull = $0001;
- varSmallint = $0002;
- varInteger = $0003;
- varSingle = $0004;
- varDouble = $0005;
- varCurrency = $0006;
- varDate = $0007;
- varOleStr = $0008;
- varDispatch = $0009;
- varError = $000A;
- varBoolean = $000B;
- varVariant = $000C;
- varUnknown = $000D;
- varByte = $0011;
- varString = $0100;
- varTypeMask = $0FFF;
- varArray = $2000;
- varByRef = $4000;
-
- { TVarRec.VType values }
-
- vtInteger = 0;
- vtBoolean = 1;
- vtChar = 2;
- vtExtended = 3;
- vtString = 4;
- vtPointer = 5;
- vtPChar = 6;
- vtObject = 7;
- vtClass = 8;
- vtWideChar = 9;
- vtPWideChar = 10;
- vtAnsiString = 11;
- vtCurrency = 12;
- vtVariant = 13;
- vtInterface = 14;
- vtWideString = 15;
-
- { Virtual method table entries }
-
- vmtSelfPtr = -64;
- vmtIntfTable = -60;
- vmtAutoTable = -56;
- vmtInitTable = -52;
- vmtTypeInfo = -48;
- vmtFieldTable = -44;
- vmtMethodTable = -40;
- vmtDynamicTable = -36;
- vmtClassName = -32;
- vmtInstanceSize = -28;
- vmtParent = -24;
- vmtSafeCallException = -20;
- vmtDefaultHandler = -16;
- vmtNewInstance = -12;
- vmtFreeInstance = -8;
- vmtDestroy = -4;
-
- vmtQueryInterface = 0;
- vmtAddRef = 4;
- vmtRelease = 8;
- vmtCreateObject = 12;
-
- type
-
- TObject = class;
-
- TClass = class of TObject;
-
- PGUID = ^TGUID;
- TGUID = record
- D1: Integer;
- D2: Word;
- D3: Word;
- D4: array[0..7] of Byte;
- end;
-
- PInterfaceEntry = ^TInterfaceEntry;
- TInterfaceEntry = record
- IID: TGUID;
- VTable: Pointer;
- IOffset: Integer;
- end;
-
- PInterfaceTable = ^TInterfaceTable;
- TInterfaceTable = record
- EntryCount: Integer;
- Entries: array[0..9999] of TInterfaceEntry;
- end;
-
- TObject = class
- constructor Create;
- procedure Free;
- class function InitInstance(Instance: Pointer): TObject;
- procedure CleanupInstance;
- function ClassType: TClass;
- class function ClassName: ShortString;
- class function ClassNameIs(const Name: string): Boolean;
- class function ClassParent: TClass;
- class function ClassInfo: Pointer;
- class function InstanceSize: Longint;
- class function InheritsFrom(AClass: TClass): Boolean;
- procedure Dispatch(var Message);
- class function MethodAddress(const Name: ShortString): Pointer;
- class function MethodName(Address: Pointer): ShortString;
- function FieldAddress(const Name: ShortString): Pointer;
- function GetInterface(const IID: TGUID; out Obj): Boolean;
- class function GetInterfaceEntry(const IID: TGUID): PInterfaceEntry;
- class function GetInterfaceTable: PInterfaceTable;
- function SafeCallException(ExceptObject: TObject;
- ExceptAddr: Pointer): Integer; virtual;
- procedure DefaultHandler(var Message); virtual;
- class function NewInstance: TObject; virtual;
- procedure FreeInstance; virtual;
- destructor Destroy; virtual;
- end;
-
- IUnknown = interface
- ['{00000000-0000-0000-C000-000000000046}']
- function QueryInterface(const IID: TGUID; out Obj): Integer; stdcall;
- function _AddRef: Integer; stdcall;
- function _Release: Integer; stdcall;
- end;
-
- IDispatch = interface(IUnknown)
- ['{00020400-0000-0000-C000-000000000046}']
- function GetTypeInfoCount(out Count: Integer): Integer; stdcall;
- function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): Integer; stdcall;
- function GetIDsOfNames(const IID: TGUID; Names: Pointer;
- NameCount, LocaleID: Integer; DispIDs: Pointer): Integer; stdcall;
- function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
- Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): Integer; stdcall;
- end;
-
- TInterfacedObject = class(TObject, IUnknown)
- protected
- function QueryInterface(const IID: TGUID; out Obj): Integer; stdcall;
- function _AddRef: Integer; stdcall;
- function _Release: Integer; stdcall;
- public
- property RefCount: Integer;
- end;
-
- TInterfacedClass = class of TInterfacedObject;
-
- TVarArrayBound = record
- ElementCount: Integer;
- LowBound: Integer;
- end;
-
- PVarArray = ^TVarArray;
- TVarArray = record
- DimCount: Word;
- Flags: Word;
- ElementSize: Integer;
- LockCount: Integer;
- Data: Pointer;
- Bounds: array[0..255] of TVarArrayBound;
- end;
-
- PVarData = ^TVarData;
- TVarData = record
- VType: Word;
- Reserved1, Reserved2, Reserved3: Word;
- case Integer of
- varSmallint: (VSmallint: Smallint);
- varInteger: (VInteger: Integer);
- varSingle: (VSingle: Single);
- varDouble: (VDouble: Double);
- varCurrency: (VCurrency: Currency);
- varDate: (VDate: Double);
- varOleStr: (VOleStr: PWideChar);
- varDispatch: (VDispatch: Pointer);
- varError: (VError: Integer);
- varBoolean: (VBoolean: WordBool);
- varUnknown: (VUnknown: Pointer);
- varByte: (VByte: Byte);
- varString: (VString: Pointer);
- varArray: (VArray: PVarArray);
- varByRef: (VPointer: Pointer);
- end;
-
- PShortString = ^ShortString;
- PAnsiString = ^AnsiString;
- PWideString = ^WideString;
- PString = PAnsiString;
-
- PExtended = ^Extended;
- PCurrency = ^Currency;
- PVariant = ^Variant;
-
- TDateTime = type Double;
-
- PVarRec = ^TVarRec;
- TVarRec = record
- case Byte of
- vtInteger: (VInteger: Integer; VType: Byte);
- vtBoolean: (VBoolean: Boolean);
- vtChar: (VChar: Char);
- vtExtended: (VExtended: PExtended);
- vtString: (VString: PShortString);
- vtPointer: (VPointer: Pointer);
- vtPChar: (VPChar: PChar);
- vtObject: (VObject: TObject);
- vtClass: (VClass: TClass);
- vtWideChar: (VWideChar: WideChar);
- vtPWideChar: (VPWideChar: PWideChar);
- vtAnsiString: (VAnsiString: Pointer);
- vtCurrency: (VCurrency: PCurrency);
- vtVariant: (VVariant: PVariant);
- vtInterface: (VInterface: Pointer);
- vtWideString: (VWideString: Pointer);
- end;
-
- PMemoryManager = ^TMemoryManager;
- TMemoryManager = record
- GetMem: function(Size: Integer): Pointer;
- FreeMem: function(P: Pointer): Integer;
- ReallocMem: function(P: Pointer; Size: Integer): Pointer;
- end;
-
- THeapStatus = record
- TotalAddrSpace: Cardinal;
- TotalUncommitted: Cardinal;
- TotalCommitted: Cardinal;
- TotalAllocated: Cardinal;
- TotalFree: Cardinal;
- FreeSmall: Cardinal;
- FreeBig: Cardinal;
- Unused: Cardinal;
- Overhead: Cardinal;
- HeapErrorCode: Cardinal;
- end;
-
- PackageUnitEntry = record
- Init, FInit : procedure;
- end;
-
- { Compiler generated table to be processed sequentially to init & finit all package units }
- { Init: 0..Max-1; Final: Last Initialized..0 }
- UnitEntryTable = array [0..9999999] of PackageUnitEntry;
- PUnitEntryTable = ^UnitEntryTable;
-
- PackageInfoTable = record
- UnitCount : Integer; { number of entries in UnitInfo array; always > 0 }
- UnitInfo : PUnitEntryTable;
- end;
-
- PackageInfo = ^PackageInfoTable;
-
- { Each package exports a '@GetPackageInfoTable' which can be used to retrieve }
- { the table which contains compiler generated information about the package DLL }
- GetPackageInfoTable = function : PackageInfo;
-
- threadvar
-
- RaiseList: Pointer; { Stack of current exception objects }
- InOutRes: Integer; { Result of I/O operations }
-
- var
-
- ExceptProc: Pointer; { Unhandled exception handler }
- ErrorProc: Pointer; { Error handler procedure }
- ExceptClsProc: Pointer; { Map an OS Exception to a Delphi class reference }
- ExceptObjProc: Pointer; { Map an OS Exception to a Delphi class instance }
- ExceptionClass: TClass; { Exception base class (must be Exception) }
- SafeCallErrorProc: Pointer; { Safecall error handler }
- AssertErrorProc: Pointer; { Assertion error handler }
- AbstractErrorProc: Pointer; { Abstract method error handler }
- HPrevInst: Longint; { Handle of previous instance }
- MainInstance: Longint; { Handle of the main(.EXE) HInstance }
- IsLibrary: Boolean; { True if module is a DLL }
- CmdShow: Integer; { CmdShow parameter for CreateWindow }
- CmdLine: PChar; { Command line pointer }
- InitProc: Pointer; { Last installed initialization procedure }
- ExitCode: Integer; { Program result }
- ExitProc: Pointer; { Last installed exit procedure }
- ErrorAddr: Pointer; { Address of run-time error }
- RandSeed: Longint; { Base for random number generator }
- IsConsole: Boolean; { True if compiled as console app }
- IsMultiThread: Boolean; { True if more than one thread }
- FileMode: Byte; { Standard mode for opening files }
- Test8086: Byte; { Will always be 2 (386 or later) }
- Test8087: Byte; { Will always be 3 (387 or later) }
- TestFDIV: Shortint; { -1: Flawed Pentium, 0: Not determined, 1: Ok }
- Input: Text; { Standard input }
- Output: Text; { Standard output }
-
-
- var
- Default8087CW: Word = $1332;{ Default 8087 control word. FPU control
- register is set to this value.
- CAUTION: Setting this to an invalid value
- could cause unpredictable behaiour. }
- HeapAllocFlags: Word = 2; { Heap allocation flags, gmem_Moveable }
- DebugHook: Byte = 0; { 1 to notify debugger of non-Delphi exceptions
- >1 to notify debugger of exception unwinding }
-
- var
- Unassigned: Variant; { Unassigned standard constant }
- Null: Variant; { Null standard constant }
-
- AllocMemCount: Integer; { Number of allocated memory blocks }
- AllocMemSize: Integer; { Total size of allocated memory blocks }
-
- { Memory manager support }
-
- procedure GetMemoryManager(var MemMgr: TMemoryManager);
- procedure SetMemoryManager(const MemMgr: TMemoryManager);
- function IsMemoryManagerSet: Boolean;
-
- function SysGetMem(Size: Integer): Pointer;
- function SysFreeMem(P: Pointer): Integer;
- function SysReallocMem(P: Pointer; Size: Integer): Pointer;
-
- function GetHeapStatus: THeapStatus;
-
- { Thread support }
- type
- TThreadFunc = function(Parameter: Pointer): Integer;
-
- function BeginThread(SecurityAttributes: Pointer; StackSize: Integer;
- ThreadFunc: TThreadFunc; Parameter: Pointer;
- CreationFlags: Integer; var ThreadId: Integer): Integer;
-
- procedure EndThread(ExitCode: Integer);
-
- { Standard procedures and functions }
-
- procedure _ChDir(const S: string);
- procedure __Flush(var F: Text);
- procedure _LGetDir(D: Byte; var S: string);
- procedure _SGetDir(D: Byte; var S: ShortString);
- function IOResult: Integer;
- procedure _MkDir(const S: string);
- procedure Move(const Source; var Dest; Count: Integer);
- function ParamCount: Integer;
- function ParamStr(Index: Integer): string;
- procedure Randomize;
- procedure _RmDir(const S: string);
- function UpCase(Ch: Char): Char;
-
- { Control 8087 control word }
-
- procedure Set8087CW(NewCW: Word);
-
- { Wide character support procedures and functions }
-
- function WideCharToString(Source: PWideChar): string;
- function WideCharLenToString(Source: PWideChar; SourceLen: Integer): string;
- procedure WideCharToStrVar(Source: PWideChar; var Dest: string);
- procedure WideCharLenToStrVar(Source: PWideChar; SourceLen: Integer;
- var Dest: string);
- function StringToWideChar(const Source: string; Dest: PWideChar;
- DestSize: Integer): PWideChar;
-
- { OLE string support procedures and functions }
-
- function OleStrToString(Source: PWideChar): string;
- procedure OleStrToStrVar(Source: PWideChar; var Dest: string);
- function StringToOleStr(const Source: string): PWideChar;
-
- { Variant support procedures and functions }
-
- procedure _VarClear(var V : Variant);
- procedure _VarCopy(var Dest : Variant; const Source: Variant);
- procedure _VarCast(var Dest : Variant; const Source: Variant; VarType: Integer);
- procedure _VarCastOle(var Dest : Variant; const Source: Variant; VarType: Integer);
- function VarType(const V: Variant): Integer;
- function VarAsType(const V: Variant; VarType: Integer): Variant;
- function VarIsEmpty(const V: Variant): Boolean;
- function VarIsNull(const V: Variant): Boolean;
- function VarToStr(const V: Variant): string;
- function VarFromDateTime(DateTime: TDateTime): Variant;
- function VarToDateTime(const V: Variant): TDateTime;
-
- { Variant array support procedures and functions }
-
- function VarArrayCreate(const Bounds: array of Integer;
- VarType: Integer): Variant;
- function VarArrayOf(const Values: array of Variant): Variant;
- procedure _VarArrayRedim(var A : Variant; HighBound: Integer);
- function VarArrayDimCount(const A: Variant): Integer;
- function VarArrayLowBound(const A: Variant; Dim: Integer): Integer;
- function VarArrayHighBound(const A: Variant; Dim: Integer): Integer;
- function VarArrayLock(const A: Variant): Pointer;
- procedure VarArrayUnlock(const A: Variant);
- function VarArrayRef(const A: Variant): Variant;
- function VarIsArray(const A: Variant): Boolean;
-
- { Variant IDispatch call support }
-
- procedure _DispInvokeError;
-
- var
- VarDispProc: Pointer = @_DispInvokeError;
- DispCallByIDProc: Pointer = @_DispInvokeError;
-
- { Package/Module registration and unregistration }
-
- type
- PLibModule = ^TLibModule;
- TLibModule = record
- Next: PLibModule;
- Instance: Longint;
- ResInstance: Longint;
- Reserved: Integer;
- end;
-
- TEnumModuleFunc = function (HInstance: Longint; Data: Pointer): Boolean;
- TModuleUnloadProc = procedure (HInstance: Longint);
-
- PModuleUnloadRec = ^TModuleUnloadRec;
- TModuleUnloadRec = record
- Next: PModuleUnloadRec;
- Proc: TModuleUnloadProc;
- end;
-
- var
- LibModuleList: PLibModule = nil;
- ModuleUnloadList: PModuleUnloadRec = nil;
-
- procedure RegisterModule(LibModule: PLibModule);
- procedure UnregisterModule(LibModule: PLibModule);
- function FindHInstance(Address: Pointer): Longint;
- function FindClassHInstance(ClassType: TClass): Longint;
- function FindResourceHInstance(Instance: Longint): Longint;
- function LoadResourceModule(ModuleName: PChar): Longint;
- procedure EnumModules(Func: TEnumModuleFunc; Data: Pointer);
- procedure EnumResourceModules(Func: TEnumModuleFunc; Data: Pointer);
- procedure AddModuleUnloadProc(Proc: TModuleUnloadProc);
- procedure RemoveModuleUnloadProc(Proc: TModuleUnloadProc);
-
- { ResString support function/record }
-
- type
- PResStringRec = ^TResStringRec;
- TResStringRec = record
- Module: ^Longint;
- Identifier: Integer;
- end;
-
- function LoadResString(ResStringRec: PResStringRec): string;
-
- { Procedures and functions that need compiler magic }
-
- procedure _COS;
- procedure _EXP;
- procedure _INT;
- procedure _SIN;
- procedure _FRAC;
- procedure _ROUND;
- procedure _TRUNC;
-
- procedure _AbstractError;
- procedure _Assert(const Message, Filename: AnsiString; LineNumber: Integer);
- procedure _Append;
- procedure _Assign(var T: Text; S: ShortString);
- procedure _BlockRead;
- procedure _BlockWrite;
- procedure _Close;
- procedure _PStrCat;
- procedure _PStrNCat;
- procedure _PStrCpy;
- procedure _PStrNCpy;
- procedure _EofFile;
- procedure _EofText;
- procedure _Eoln;
- procedure _Erase;
- procedure _FilePos;
- procedure _FileSize;
- procedure _FillChar;
- procedure _FreeMem;
- procedure _GetMem;
- procedure _ReallocMem;
- procedure _Halt;
- procedure _Halt0;
- procedure _Mark;
- procedure _PStrCmp;
- procedure _AStrCmp;
- procedure _RandInt;
- procedure _RandExt;
- procedure _ReadRec;
- procedure _ReadChar;
- procedure _ReadLong;
- procedure _ReadString;
- procedure _ReadCString;
- procedure _ReadLString;
- procedure _ReadExt;
- procedure _ReadLn;
- procedure _Rename;
- procedure _Release;
- procedure _ResetText(var T: Text);
- procedure _ResetFile;
- procedure _RewritText(var T: Text);
- procedure _RewritFile;
- procedure _RunError;
- procedure _Run0Error;
- procedure _Seek;
- procedure _SeekEof;
- procedure _SeekEoln;
- procedure _SetTextBuf;
- procedure _StrLong;
- procedure _Str0Long;
- procedure _Truncate;
- procedure _ValLong;
- procedure _WriteRec;
- procedure _WriteChar;
- procedure _Write0Char;
- procedure _WriteBool;
- procedure _Write0Bool;
- procedure _WriteLong;
- procedure _Write0Long;
- procedure _WriteString;
- procedure _Write0String;
- procedure _WriteCString;
- procedure _Write0CString;
- procedure _WriteLString;
- procedure _Write0LString;
- function _WriteVariant(var T: Text; const V: Variant; Width: Integer): Pointer;
- function _Write0Variant(var T: Text; const V: Variant): Pointer;
- procedure _Write2Ext;
- procedure _Write1Ext;
- procedure _Write0Ext;
- procedure _WriteLn;
-
- procedure __CToPasStr;
- procedure __CLenToPasStr;
- procedure __ArrayToPasStr;
- procedure __PasToCStr;
-
- procedure __IOTest;
- procedure _Flush(var F: Text);
-
- procedure _SetElem;
- procedure _SetRange;
- procedure _SetEq;
- procedure _SetLe;
- procedure _SetIntersect;
- procedure _SetUnion;
- procedure _SetSub;
- procedure _SetExpand;
-
- procedure _Str2Ext;
- procedure _Str0Ext;
- procedure _Str1Ext;
- procedure _ValExt;
- procedure _Pow10;
- procedure _Real2Ext;
- procedure _Ext2Real;
-
- procedure _ObjSetup;
- procedure _ObjCopy;
- procedure _Fail;
- procedure _BoundErr;
- procedure _IntOver;
- procedure _StartExe;
- procedure _StartLib;
- procedure _PackageLoad (const Table : PackageInfo);
- procedure _PackageUnload(const Table : PackageInfo);
- procedure _InitResStrings;
- procedure _InitResStringImports;
- procedure _InitImports;
-
- procedure _ClassCreate;
- procedure _ClassDestroy;
- procedure _IsClass;
- procedure _AsClass;
-
- procedure _RaiseExcept;
- procedure _RaiseAgain;
- procedure _DoneExcept;
- procedure _TryFinallyExit;
-
- procedure _CallDynaInst;
- procedure _CallDynaClass;
- procedure _FindDynaInst;
- procedure _FindDynaClass;
-
- procedure _LStrClr(var S: AnsiString);
- procedure _LStrArrayClr{var str: AnsiString; cnt: longint};
- procedure _LStrAsg{var dest: AnsiString; source: AnsiString};
- procedure _LStrLAsg{var dest: AnsiString; source: AnsiString};
- procedure _LStrFromPCharLen(var Dest: AnsiString; Source: PAnsiChar; Length: Integer);
- procedure _LStrFromPWCharLen(var Dest: AnsiString; Source: PWideChar; Length: Integer);
- procedure _LStrFromChar(var Dest: AnsiString; Source: AnsiChar);
- procedure _LStrFromWChar(var Dest: AnsiString; Source: WideChar);
- procedure _LStrFromPChar(var Dest: AnsiString; Source: PAnsiChar);
- procedure _LStrFromPWChar(var Dest: AnsiString; Source: PWideChar);
- procedure _LStrFromString(var Dest: AnsiString; const Source: ShortString);
- procedure _LStrFromArray(var Dest: AnsiString; Source: PAnsiChar; Length: Integer);
- procedure _LStrFromWArray(var Dest: AnsiString; Source: PWideChar; Length: Integer);
- procedure _LStrFromWStr(var Dest: AnsiString; const Source: WideString);
- procedure _LStrToString{(var Dest: ShortString; const Source: AnsiString; MaxLen: Integer)};
- function _LStrLen{str: AnsiString}: Longint;
- procedure _LStrCat{var dest: AnsiString; source: AnsiString};
- procedure _LStrCat3{var dest:AnsiString; source1: AnsiString; source2: AnsiString};
- procedure _LStrCatN{var dest:AnsiString; argCnt: Integer; ...};
- procedure _LStrCmp{left: AnsiString; right: AnsiString};
- procedure _LStrAddRef{str: AnsiString};
- procedure _LStrToPChar{str: AnsiString): PChar};
- procedure _Copy{ s : ShortString; index, count : Integer ) : ShortString};
- procedure _Delete{ var s : openstring; index, count : Integer };
- procedure _Insert{ source : ShortString; var s : openstring; index : Integer };
- procedure _Pos{ substr : ShortString; s : ShortString ) : Integer};
- procedure _SetLength{var s: ShortString; newLength: Integer};
- procedure _SetString{var s: ShortString: buffer: PChar; len: Integer};
-
- procedure UniqueString(var str: string);
- procedure _NewAnsiString{length: Longint}; { for debugger purposes only }
-
- procedure _LStrCopy { const s : AnsiString; index, count : Integer) : AnsiString};
- procedure _LStrDelete{ var s : AnsiString; index, count : Integer };
- procedure _LStrInsert{ const source : AnsiString; var s : AnsiString; index : Integer };
- procedure _LStrPos{ const substr : AnsiString; const s : AnsiString ) : Integer};
- procedure _LStrSetLength{ var str: AnsiString; newLength: Integer};
- procedure _LStrOfChar{ c: Char; count: Integer): AnsiString };
-
- procedure _WStrClr(var S: WideString);
- procedure _WStrArrayClr(var StrArray; Count: Integer);
- procedure _WStrAsg(var Dest: WideString; const Source: WideString);
- procedure _WStrFromPCharLen(var Dest: WideString; Source: PAnsiChar; Length: Integer);
- procedure _WStrFromPWCharLen(var Dest: WideString; Source: PWideChar; Length: Integer);
- procedure _WStrFromChar(var Dest: WideString; Source: AnsiChar);
- procedure _WStrFromWChar(var Dest: WideString; Source: WideChar);
- procedure _WStrFromPChar(var Dest: WideString; Source: PAnsiChar);
- procedure _WStrFromPWChar(var Dest: WideString; Source: PWideChar);
- procedure _WStrFromString(var Dest: WideString; const Source: ShortString);
- procedure _WStrFromArray(var Dest: WideString; Source: PAnsiChar; Length: Integer);
- procedure _WStrFromWArray(var Dest: WideString; Source: PWideChar; Length: Integer);
- procedure _WStrFromLStr(var Dest: WideString; const Source: AnsiString);
- procedure _WStrToString(Dest: PShortString; const Source: WideString; MaxLen: Integer);
- function _WStrToPWChar(const S: WideString): PWideChar;
- function _WStrLen(const S: WideString): Integer;
- procedure _WStrCat(var Dest: WideString; const Source: WideString);
- procedure _WStrCat3(var Dest: WideString; const Source1, Source2: WideString);
- procedure _WStrCatN{var dest:WideString; argCnt: Integer; ...};
- procedure _WStrCmp{left: WideString; right: WideString};
- function _NewWideString(Length: Integer): PWideChar;
- function _WStrCopy(const S: WideString; Index, Count: Integer): WideString;
- procedure _WStrDelete(var S: WideString; Index, Count: Integer);
- procedure _WStrInsert(const Source: WideString; var Dest: WideString; Index: Integer);
- procedure _WStrPos{ const substr : WideString; const s : WideString ) : Integer};
- procedure _WStrSetLength(var S: WideString; NewLength: Integer);
- function _WStrOfWChar(Ch: WideChar; Count: Integer): WideString;
- procedure _WStrAddRef{var str: WideString};
-
- procedure _Initialize;
- procedure _InitializeArray;
- procedure _InitializeRecord;
- procedure _Finalize;
- procedure _FinalizeArray;
- procedure _FinalizeRecord;
- procedure _AddRef;
- procedure _AddRefArray;
- procedure _AddRefRecord;
- procedure _CopyArray;
- procedure _CopyRecord;
- procedure _CopyObject;
-
- procedure _New;
- procedure _Dispose;
-
- procedure _DispInvoke; cdecl;
- procedure _IntfDispCall; cdecl;
- procedure _IntfVarCall; cdecl;
-
- procedure _VarToInt;
- procedure _VarToBool;
- procedure _VarToReal;
- procedure _VarToCurr;
- procedure _VarToPStr(var S; const V: Variant);
- procedure _VarToLStr(var S: string; const V: Variant);
- procedure _VarToWStr(var S: WideString; const V: Variant);
- procedure _VarToIntf(var Unknown: IUnknown; const V: Variant);
- procedure _VarToDisp(var Dispatch: IDispatch; const V: Variant);
-
- procedure _VarFromInt;
- procedure _VarFromBool;
- procedure _VarFromReal;
- procedure _VarFromTDateTime;
- procedure _VarFromCurr;
- procedure _VarFromPStr(var V: Variant; const Value: ShortString);
- procedure _VarFromLStr(var V: Variant; const Value: string);
- procedure _VarFromWStr(var V: Variant; const Value: WideString);
- procedure _VarFromIntf(var V: Variant; const Value: IUnknown);
- procedure _VarFromDisp(var V: Variant; const Value: IDispatch);
- procedure _OleVarFromPStr(var V: OleVariant; const Value: ShortString);
- procedure _OleVarFromLStr(var V: OleVariant; const Value: string);
- procedure _OleVarFromVar(var V: OleVariant; const Value: Variant);
-
- procedure _VarAdd;
- procedure _VarSub;
- procedure _VarMul;
- procedure _VarDiv;
- procedure _VarMod;
- procedure _VarAnd;
- procedure _VarOr;
- procedure _VarXor;
- procedure _VarShl;
- procedure _VarShr;
- procedure _VarRDiv;
- procedure _VarCmp;
-
- procedure _VarNeg;
- procedure _VarNot;
-
- procedure _VarClr;
- procedure _VarAddRef;
-
- procedure _IntfClear(var Dest: IUnknown);
- procedure _IntfCopy(var Dest: IUnknown; const Source: IUnknown);
- procedure _IntfCast(var Dest: IUnknown; const Source: IUnknown; const IID: TGUID);
- procedure _IntfAddRef(const Dest: IUnknown);
-
- function _VarArrayGet(var A: Variant; IndexCount: Integer;
- Indices: Integer): Variant; cdecl;
- procedure _VarArrayPut(var A: Variant; const Value: Variant;
- IndexCount: Integer; Indices: Integer); cdecl;
-
- procedure _HandleAnyException;
- procedure _HandleOnException;
- procedure _HandleFinally;
- procedure _HandleAutoException;
-
- procedure _FSafeDivide;
- procedure _FSafeDivideR;
-
- procedure _CheckAutoResult;
-
- procedure FPower10;
-
- procedure TextStart;
-
- (* =================================================================== *)
-
- implementation
-